﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EntitiesLayer
{
    public class Joueur : Personne
    {
        #region Properties

        public int NbSelection
        {
            get;
            set;
        }

        public PosteJoueur Poste
        {
            get;
            set;
        }

        public int Score
        {
            get;
            set;
        }

        public int EquipeId
        {
            get;
            set;
        }

        #endregion

        #region Constructors

        public Joueur(int nbSelection, PosteJoueur poste, int score, DateTime dateNaissance, String nom, String prenom, int id)
            :base(dateNaissance, nom, prenom, id)
        {
            NbSelection = nbSelection;
            Poste = poste;
            Score = score;
        }

        public Joueur(int nbSelection, PosteJoueur poste, int score, DateTime dateNaissance, String nom, String prenom, int id, int equipeId)
            : base(dateNaissance, nom, prenom, id)
        {
            NbSelection = nbSelection;
            Poste = poste;
            Score = score;
            EquipeId = equipeId;
        }

        public Joueur()
            : this(0, PosteJoueur.NONE, 0, new DateTime(), "", "", 0)
        {
        }

        #endregion

        public override string ToString()
        {
            return Nom + ":" + Prenom + ":" + Poste + ":" + NbSelection + ":" + Score;
        }

        public bool ExistEquipe(Equipe equipe)
        {
            foreach (Joueur j in equipe.ListJoueur)
                if (j.Equals(this))
                    return true;

            return false;
        }
    }
}
